package com.bsg.upm.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.bsg.upm.entity.BusinessSubSystemEntity;

/**
 * 业务子系统接口
 * 
 * @author HCK
 *
 */
public interface BusinessSubSystemDao extends CrudDao<BusinessSubSystemEntity> {

	/**
	 * 获取指定业务系统下的所有子系统名
	 * 
	 * @param businessSystemId
	 *            业务系统编码
	 * @return 业务子系统名集合
	 */
	List<BusinessSubSystemEntity> listNameByBusinessSystemId(String businessSystemId);

	/**
	 * 获取所有的业务子系统
	 * 
	 * @return 业务子系统集合
	 */
	List<BusinessSubSystemEntity> listWithoutAssociation();

	/**
	 * 获取指定业务系统和子系统名的子系统个数
	 * 
	 * @param name
	 *            子系统名
	 * @param businessSystemId
	 *            业务系统编码
	 * @return 业务子系统个数
	 */
	int countByNameAndBusinessSystemId(@Param("name") String name, @Param("businessSystemId") String businessSystemId);

	/**
	 * 获取指定业务系统的子系统个数
	 * 
	 * @param businessSystemId
	 *            业务系统编码
	 * @return 业务子系统个数
	 */
	int countByBusinessSystemId(String businessSystemId);
}
